import { Provide } from '@midwayjs/decorator';
// import { BaseService } from 'midwayjs-cool-core';

import { InjectEntityModel } from '@midwayjs/orm';
import { Repository } from 'typeorm';
import { loeeBaseService } from '../../../comservice/loeeBaseService';
import { teacherEntity } from '../entity/teacher';

/**
 * 描述
 */
@Provide()
export class TeacherService extends loeeBaseService {
  @InjectEntityModel(teacherEntity)
  teacherEntity: Repository<teacherEntity>;

  /**
   * 重写删除方法设置为逻辑删除
   */
  //  async add(param) {
  //     if (!this.entity)
  //         throw new validate_1.CoolValidateException(global_1.ERRINFO.NOENTITY);
  //     await this.addOrUpdate(param);
  //     await this.modifyAfter(param);
  //     return {
  //         id: param.id
  //     };
  // }

  // async add(param:any) {
  //   const res = await useEntityModel(studentEntity).findOne({
  //     order: {
  //       id: "DESC"
  //     }
  //   })
  //   // 设置学号自动生成
  //   let num = res.student_id.match(/\d+/g)

  //   param.student_id = "DDLL" +(parseInt(num[0])+1)
  //   return super.add(param);
  //   await this.modifyAfter(param);
  // } 
  /**
   * 重写page方法设置设置当批量导出时，修改导出状态
   */
  // async page(query, option) {
  //   // 判断是否是局部导出，如果是局部导出，才更改导出状态，全部导出的话，默认还是未导出
  //   const selected_Limit = query.selected_Limit
  //   if (selected_Limit){
  //     for (let id of selected_Limit){
  //       const partsEntity = await this.PartsEntity.findOne(id)
  //       partsEntity.is_export = true
  //       this.PartsEntity.save(partsEntity)
  //     }
  //   }
    
  //   return super.page(query, option)
  // }
  // 正式环境版本问题，只能用下面这个
  // /**
  //  * 重写page方法设置设置当批量导出时，修改导出状态
  //  */
  //  async page(query, option,connectionName) {
  //   // 判断是否是局部导出，如果是局部导出，才更改导出状态，全部导出的话，默认还是未导出
  //   const selected_Limit = query.selected_Limit
  //   if (selected_Limit){
  //     for (let id of selected_Limit){
  //       const partsEntity = await this.PartsEntity.findOne(id)
  //       partsEntity.is_export = true
  //       this.PartsEntity.save(partsEntity)
  //     }
  //   }
    
  //   return super.page(query, option,connectionName)
  // }
}
